package com.example.usercenter.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig {
    @Bean
    public WebMvcConfigurer corsConfigurer(){
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        //  registry.addMapping("/**"): 设置允许跨域的请求路径。/**表示所有的路径都会支持跨域访问。
                        .allowedOrigins("http://127.0.0.1:5173/")
                        //  allowedOrigins("http://127.0.0.1:5173/"): 允许来自指定域（在这个例子中是http://127.0.0.1:5173/）的请求跨域访问
                        .allowedMethods("*")
                        //  允许所有HTTP方法（如GET、POST、PUT、DELETE等）进行跨域请求
                        .allowedHeaders("*")
                        //  允许所有请求头跨域发送 如allowedHeaders("Content-Type", "Authorization")。
                        .allowCredentials(true)
                        //  允许跨域请求时携带认证信息（如cookies）。设置为true
                        .maxAge(86400 * 24);
                //  设置CORS预检请求的缓存时间，单位为秒。86400是一天的秒数，乘以24表示允许浏览器缓存预检请求结果48天

            }
        };
    }

}
